package edu.unmsm.ocaa.sisocaa.integracion.dao.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.ibatis.sqlmap.client.SqlMapClient;

import edu.unmsm.ocaa.sisocaa.integracion.dao.MsjAyudaDAO;
import edu.unmsm.ocaa.sisocaa.negocio.model.dto.MsjAyudaDTO;

@Repository
public class MsjAyudaDAOImpl extends SqlMapClientDaoSupport implements MsjAyudaDAO {


	@Autowired
	public MsjAyudaDAOImpl(SqlMapClient sqlmap) {
		super.setSqlMapClient(sqlmap);
	}
	@Transactional
	public List<MsjAyudaDTO> getlistMsjAyuda(Integer msjid)
			throws DataAccessException {
		return (List<MsjAyudaDTO>)getSqlMapClientTemplate().queryForList("getMsjAyuda", msjid);
	}

	@Transactional
	public List<MsjAyudaDTO> getlistMsjAyudas(String unidep)
			throws DataAccessException {
		return getSqlMapClientTemplate().queryForList("getMsjAyudas", unidep);
	}

	@Transactional
	public void insertMsjAyuda(MsjAyudaDTO msjayuda) throws DataAccessException {
		getSqlMapClientTemplate().insert("insertMsjAyuda", msjayuda);
	}
	@Transactional
	public void updateMsjAyuda(MsjAyudaDTO msjayuda)
			throws DataAccessException {
		try {
			getSqlMapClientTemplate().update("updateMsjAyuda", msjayuda);			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}

	}
	@Override
	public ArrayList<MsjAyudaDTO> getlistMsjs(Integer idDep) {
		Map map=new HashMap();
		map.put("id_dep", idDep);
		return (ArrayList<MsjAyudaDTO>)getSqlMapClientTemplate().queryForList("getMsjs", map);
	}
	@Override
	public void deleteMsje(Integer msjid) throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().delete("deleteMsje", msjid);
	}

}
